@model BTCPayServer.Models.ServerViewModels.DynamicDnsViewModel[]
@{
    ViewData.SetLayoutModel(new LayoutModel(nameof(ServerNavPages.Services), StringLocalizer["Dynamic DNS Settings"])
        .SetCategory(WellKnownCategories.Server));
}
<div class="sticky-header">
    <nav aria-label="breadcrumb">
        <ol class="breadcrumb">
            <li class="breadcrumb-item">
                <a asp-action="Services" text-translate="true">Services</a>
            </li>
            <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
        </ol>
        <h2>
            <span>@ViewData["Title"]</span>
            <small>
                <a href="https://docs.btcpayserver.org/Apps/" target="_blank" rel="noreferrer noopener" title="@StringLocalizer["More information..."]">
                    <vc:icon symbol="info" />
                </a>
            </small>
        </h2>
    </nav>
    <div>
        <form method="post" asp-action="DynamicDnsService">
			<button id="page-primary" class="btn btn-primary mt-2" type="submit" text-translate="true">Add Service</button>
        </form>
    </div>
</div>
<partial name="_StatusMessage" />
<div class="row">
    <div class="col-md-8">
        <div class="form-group">
            <p text-translate="true">Dynamic DNS allows you to have a stable DNS name pointing to your server, even if your IP address changes regularly. This is recommended if you are hosting BTCPay Server at home and wish to have a clearnet domain to access your server.</p>
            <p>
                Note that you need to properly configure your NAT and BTCPay Server installation to get the HTTPS certificate.
                See the documentation for <a href="https://docs.btcpayserver.org/Deployment/DynamicDNS/" target="_blank" rel="noreferrer noopener">more information</a>.
            </p>
        </div>

        @if (Model.Any())
        {
            <div class="table-responsive-md">
                <table class="table table-sm">
                    <thead>
                    <tr>
                        <th text-translate="true">Hostname</th>
                        <th text-translate="true">Last updated</th>
                        <th class="text-center" text-translate="true">Enabled</th>
                        <th class="text-end" text-translate="true">Actions</th>
                    </tr>
                    </thead>
                    <tbody>
                    @foreach (var service in Model)
                    {
                        <tr>
                            <td>@service.Settings.Hostname</td>
                            <td>@service.LastUpdated</td>
                            <td class="text-center">
                                @if (service.Settings.Enabled)
                                {
                                    <vc:icon symbol="checkmark" css-class="text-success" />
                                }
                                else
                                {
                                    <vc:icon symbol="cross" css-class="text-danger" />
                                }
                            </td>
                            <td class="text-end">
                                <a asp-action="DynamicDnsService" asp-route-hostname="@service.Settings.Hostname" text-translate="true">Edit</a>
                                <span> - </span>
                                <a asp-action="DeleteDynamicDnsService" asp-route-hostname="@service.Settings.Hostname" data-bs-toggle="modal" data-bs-target="#ConfirmModal" data-description="Deleting the dynamic DNS service for <strong>@Html.Encode(service.Settings.Hostname)</strong> means your BTCPay Server will stop updating the associated DNS record periodically." data-confirm-input="@StringLocalizer["Delete"]" text-translate="true">Delete</a>
                            </td>
                        </tr>
                    }
                    </tbody>
                </table>
            </div>
        }
        else
        {
            <p class="text-secondary mt-3" text-translate="true">
                There are no dynamic DNS services yet.
            </p>
        }
    </div>
</div>

<partial name="_Confirm" model="@(new ConfirmModel("Delete dynamic DNS service", "Deleting the dynamic DNS service means your BTCPay Server will stop updating the associated DNS record periodically.", StringLocalizer["Delete"]))" />

